home *** CD-ROM | disk | FTP | other *** search
- /*
- File: DragPriv.cpp
-
- Contains: Definition of Private classes for ODDragAndDrop.
-
- Owned by: Vincent Lo
-
- Copyright: © 1994 - 1996 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <2> 3/15/96 DH 1287259 - 1.0.2 Don't get back what I put
- in the scrapbook. Changed ODMemContainer so
- that it has a constructor that makes a new
- container given a container handle.
- <7> 9/6/95 VL 1274572: Added GetFinderInfo and
- GetIconFamilyFromFile.
- <6> 5/25/95 jpa List.h --> LinkList.h [1253324]
- <5> 12/13/94 VL 1203627,1200603,1203451,1198037,1194537,119
- 4755,1186815: Bug fixes.
- <4> 9/29/94 RA 1189812: Mods for 68K build.
- <3> 9/23/94 VL 1184272: ContainerID is now a sequence of
- octets.
- <2> 7/26/94 VL Got rid of dependency on Bento Container
- Suite.
- <1> 7/21/94 VL first checked in
-
- To Do:
- In Progress:
- */
-
- #ifndef _DRAGPRIV_
- #define _DRAGPRIV_
-
- #ifndef _ODTYPES_
- #include <ODTypes.h>
- #endif
-
- #ifndef _ODMEMORY_
- #include <ODMemory.h>
- #endif
-
- #ifndef _PLFMDEF_
- #include <PlfmDef.h>
- #endif
-
- #ifndef _LINKLIST_
- #include <LinkList.h>
- #endif
-
- //==============================================================================
- // Forward declaration
- //==============================================================================
-
- class ODStorageSystem;
- class ODContainer;
- class ODDocument;
- class ODDraft;
- class PlatformFile;
- class ODStorageUnit;
-
- //==============================================================================
- // Function prototype
- //==============================================================================
- void GetFinderInfo(Environment* ev, ODStorageUnit* su, PlatformFile* file);
- void GetIconFamilyFromFile(Environment* ev, ODStorageUnit* su, PlatformFile* file);
-
- //==============================================================================
- // ODDragItem
- //==============================================================================
- class ODDragItem
- {
- public:
-
- ODDragItem(ODStorageSystem *storage, ODBoolean IsForeignDataSU);
- ODVMethod ~ODDragItem() {}
- ODNVMethod void Initialize(Environment* ev) {}
- ODVMethod void Open(Environment* ev);
- ODVMethod void Close(Environment* ev);
- ODVMethod ODDraft* GetDraft(void) { return fDraft; }
-
- ODStorageUnit* fSU;
-
- protected:
-
- ODStorageSystem* fStorageSystem;
- ODContainer* fContainer;
- ODDocument* fDocument;
- ODDraft* fDraft;
- };
-
- class ODMemDragItem : public ODDragItem
- {
- public:
-
- ODMemDragItem(ODStorageSystem *storage, ODBoolean IsForeignDataSU)
- : ODDragItem(storage, IsForeignDataSU) {};
- ODMemDragItem(ODStorageSystem *storage, ODHandle containerH, ODBoolean IsForeignDataSU);
-
- ~ODMemDragItem();
- void Initialize(Environment* ev);
- void Open(Environment* ev);
- void Close(Environment* ev);
- ODHandle GetContainerHandle( void ) { return fContainerHandle; }
-
- ODHandle fContainerHandle;
- };
-
- class ODFileDragItem : public ODDragItem
- {
- public:
-
- ODFileDragItem(ODStorageSystem *storage, ODBoolean IsForeignDataSU)
- : ODDragItem(storage, IsForeignDataSU) {};
- ~ODFileDragItem();
- void Initialize(Environment* ev, ODContainerID* file);
- };
-
-
- //==============================================================================
- // ODDragLink
- //==============================================================================
- class ODDragLink : public Link
- {
- public:
- ODDragLink(ODDragItem *theItem, ODBoolean cleanup);
- ~ODDragLink();
-
- ODDragItem *fItem;
- ODBoolean fCleanup;
- };
-
- #endif // _DRAGPRIV_
-